package com.fare.taluo.core.domain.freightprice;

import java.util.Date;
import java.util.List;

import com.dayatang.domain.EntityRepository;
import com.fare.taluo.vo.core.RowKeyInfo;
/**
 * hbase数据rowkey查询仓储
 * @author creator: xiangsf
 * @author modifior: xiangsf
 * @since 2012-12-21-上午10:04:42
 * @version v1.0
 */
public interface CoasRowkeyQueryRepository  extends EntityRepository{
	/**
	 * 获得指定抓取时间内的ROWKEY
	 * <p>
	 * SQL语句组装，当传入参数为空时，将去掉该查询条件
	 * 
	 * @param carrierName
	 *            航空公司名称
	 * @param grapFromDate
	 *            抓取时间区间，开始
	 * @param grapToDate
	 *            抓取时间区间，结束
	 * @return hbase存储在fdc_rowkey表中的信息，该信息即为hbase的rowkey
	 */
	List<RowKeyInfo> getRowKeyList(String carrierName, Date grapFromDate, Date grapToDate);
	/**
	 * 获得指定起飞时间的rowkey
	 * @param carrierName 航空公司名称
	 * @param sflightTime 起飞开始时间
	 * @param eflightTime 起飞结束时间
	 * @return
	 */
	public List<RowKeyInfo> getRowKeyListByFlightTime(String carrierName, Date sflightTime,
			Date eflightTime) ;
	
	/**
	 * 获得指定起飞时间的rowkey
	 * @param carrierName 航空公司名称
	 * @param fromCity 起飞城市
	 * @param toCity 目的城市
	 * @param sflightTime 起飞开始时间
	 * @param eflightTime 起飞结束时间
	 * @return
	 */
	public List<RowKeyInfo> getRowKeyListByFlightTime(String carrierName,String fromCity, String toCity, Date sflightTime,
			Date eflightTime) ;
	/**
	 * 获得从指定时间后的所有的ROWKEY
	 * 
	 * @param grapDate
	 *           抓取时间
	 * @return hbase存储在fdc_rowkey表中的信息，该信息即为hbase的rowkey
	 */
	List<RowKeyInfo> getRowKeyList(Date date);
	
}
